// TS  类型注解
// 注解  注释  解释  (约束/规则)

// var   ES6+   let   const
// let 替代  var

// const  更多用于常量 , 一个项目中 , 值被创建出来后,在其他代码位置,不涉及修改, 也不允许修改的变量(长久不发生变化)
// const baseURL= "http:// xxxxxxxx" 根地址 
// baseURL = newvalue    X


let msg:number = 666

msg = "五角星"  // 其实能打印出来, 只是ts帮我们在开发过程当中,做了严重警告,看似报错,实则编译能过也能运行

console.log(msg)

// 数组类型

let arr:number[] = [1,2,3,4,5]

let strArr:string[] = ["a","b","c"]

strArr.push(6666)

// 升级版 泛型  写法
// Array<boolean>

let  boolArr:Array<boolean> = [true,false,true]

// 联合类型 / 别名

let numstrArr:(string | number)[] = [1,2,3,'★']

// 别名
type arrType = (string | number | boolean | Object)[]

let allArr:arrType = [1,2,3,'★',true,{}]


type arrType2 = Array<number | boolean>

let allArr2:arrType2 = [1,2,3,true]